package com.ushine.design.jdk8.fun_interface;

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

public class FunctionInterface {
    public static void main(String[] args) {
        List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11);

        //输出所有的数据
        System.out.println("输出所有的数据：");
        eval(list, n -> true);

        System.err.println("输出所有的偶数：");
        eval(list, n -> n % 2 == 0);

        System.out.println("输出大于10的数据：");
        eval(list, n -> n > 10);

        System.err.println("输出小于2的数据：");
        eval(list, n -> n < 9);


    }


    public static void eval(List<Integer> list, Predicate<Integer> predicate) {
        list.forEach(value -> {
            if (predicate.test(value)) {
                System.err.println(value + "");
            }
        });
    }
}
